#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <iostream>
using namespace std;

#include <vector>

////c++
//class Solution {
//public:
//    void left_rotate(vector<int>& nums, int k)
//    {
//        int sz = nums.size();
//        k %= sz;
//        my_rotate(nums, 0, k - 1);
//        my_rotate(nums, k, sz - 1);
//        my_rotate(nums, 0, sz - 1);
//    }
//    void right_rotate(vector<int>& nums, int k)
//    {
//        int sz = nums.size();
//        k %= sz;
//        my_rotate(nums, sz - k, sz - 1);
//        my_rotate(nums, 0, sz - k - 1);
//        my_rotate(nums, 0, sz - 1);
//    }
//    void my_rotate(vector<int>& nums, int left, int right)
//    {
//        while (left < right)
//        {
//            int ret = nums[left];
//            nums[left] = nums[right];
//            nums[right] = ret;
//            left++;
//            right--;
//        }
//    }
//};
//
//int main()
//{
//    vector<int> arr;
//    arr.push_back(1);
//    arr.push_back(2);
//    arr.push_back(3);
//    arr.push_back(4);
//    arr.push_back(5);
//    arr.push_back(6);
//    arr.push_back(7);
//    Solution s;
//    s.right_rotate(arr, 3);
//    for (int i = 0; i < 7; i++)
//    {
//        cout << arr[i] << " ";
//    }
//    cout << endl;
//    s.left_rotate(arr, 3);
//    for (int i = 0; i < 7; i++)
//    {
//        cout << arr[i] << " ";
//    }
//    system("pause");
//    return 0;
//}

////c
//void my_rotate(int* nums, int left, int right)
//{
//while (left < right)
//{
//    int ret = nums[left];
//    nums[left] = nums[right];
//    nums[right] = ret;
//    left++;
//    right--;
//}
//}
//
//void rotate(int* nums, int numsSize, int k) {
//k %= numsSize;
//my_rotate(nums, numsSize - k, numsSize - 1);
//my_rotate(nums, 0, numsSize - k - 1);
//my_rotate(nums, 0, numsSize - 1);
//}
//
//int main()
//{
//int arr[7] = { 1,2,3,4,5,6,7 };
//rotate(arr, 7, 3);
//for (int i = 0; i < 7; i++)
//{
//    printf("%d ", arr[i]);
//}
//return 0;
//}

int missingNumber(int* nums, int numsSize) {
    int ret = 0;
    for (int i = 0; i < numsSize; i++)
    {
        ret ^= nums[i];
    }
    for (int i = 0; i <= numsSize; i++)
    {
        ret ^= i;
    }
    return ret;
}